Characteristics which are representative of a fault condition can be represented by data patterns. When these data patterns contain sufficient information to disambiguate between the fault conditions, the data patterns can be used for identification of these conditions. The characteristics can be mechanical or electrical, for example. The vibrations of turbine blades or the signals generated by or in a power supply can both be represented by data patterns. When a fault occurs in one of these systems, data patterns of the system may be representative of the fault. One example of a data pattern is a digital bit pattern.
In the domain of populated computer printed circuit wiring boards, a data pattern can represent a machine state of the board. Thus, when faults in the board occur, the machine state of the board can be representative of the fault.
In order to diagnose an unknown defect in a board, it is known to capture a digital representation of that defect. This digital representation can be manipulated in various ways and then compared to a stored set of digital representations of known defects. If an exact bit-by-bit match of the manipulated digital representation of the unknown defect with one of the stored digital representations of the known defects is found, then the unknown defect may be identified.
The above known method has a problem in that the same defect in a system may be characterized by a number of different bit patterns. Some of these bit patterns may be very similar to one another, but are not necessarily exactly the same. Thus, since the known method requires an exact match of the unknown bit pattern with the stored bit patterns before a diagnosis can be returned, an extremely large amount of memory space is required to store the large number of known bit patterns in order to ensure that a reasonable percentage of defects can be identified.
Some known systems do not use exact matching but instead use a nearest-neighbor algorithm. This returns the closest match when no exact match is found. However, the criteria for similarity in these systems is not adjustable. Thus, the only way for these systems to increase their frequency of correct defect identification is by storing additional patterns, resulting in the same ultimate problem as with those system requiring an exact match. In addition to the increased memory requirements, the response time of the known system degrades as the number of stored patterns increase.